Programmed logic arrays (PLAs) comprising an AND matrix connected to an OR matrix in order to transform a certain logical input state to another output state have long been known in the art. It is also known for small PLAs to be programmed by the user, usually using bipolar technology and fusible links. These arrays have the drawbacks that the bipolar technology requires high power and only provides low circuit density, while the use of fusible links means that the device can be written only once.